package com.kurumi.mapper;

import java.util.Date;
import java.util.List;
import java.util.Map;

import org.apache.ibatis.annotations.Param;

public interface WorkStatisticsMapper {

	int getMedicalRecordCountOfShouldPigeonholed(@Param("startDate")Date startDate,@Param("endDate")Date endDate);
	
	int getImageCountOfShouldPigeonholed(@Param("startDate")Date startDate,@Param("endDate")Date endDate);
	
	int getImageCountOfPigeonholed(@Param("startDate")Date startDate,@Param("endDate")Date endDate);
	
	List<Map<String,Object>> getGroupImageCountOfPigeonholer(@Param("startDate")Date startDate,@Param("endDate")Date endDate);
	
	int getMedicalRecordCountOfCodinged(@Param("startDate")Date startDate,@Param("endDate")Date endDate);
	
	List<Map<String,Object>> getGroupMedicalRecordCountOfCodinged(@Param("startDate")Date startDate,@Param("endDate")Date endDate);

	/**
	 * 依据签收日期查询签收纸质病案总数
	 * @param startDate
	 * @param endDate
	 * @return
	 */
	int getMedicalRecordCountOfPageSigned(@Param("startDate")Date startDate,@Param("endDate")Date endDate);
	
	/**
	 * 依据签收日期查询签收人和签收纸质病案数量
	 * @param startDate
	 * @param endDate
	 * @return
	 */
	List<Map<String,Object>> getGroupMedicalRecordCountOfPageSigned(@Param("startDate")Date startDate,@Param("endDate")Date endDate);
	
	
	/**
	 * 依据归档日期查询归档纸质病案总数
	 * @param startDate
	 * @param endDate
	 * @return
	 */
	int getMedicalRecordCountOfPagePigeonholed(@Param("startDate")Date startDate,@Param("endDate")Date endDate);
	
	/**
	 * 依据归档日期查询签收人和归档纸质病案数量
	 * @param startDate
	 * @param endDate
	 * @return
	 */
	List<Map<String,Object>> getGroupMedicalRecordCountOfPagePigeonholed(@Param("startDate")Date startDate,@Param("endDate")Date endDate);
	
	
	/**
	 * 依据指控日期查询指控纸质病案总数
	 * @param startDate
	 * @param endDate
	 * @return
	 */
	int getMedicalRecordCountOfPageQualityControl(@Param("startDate")Date startDate,@Param("endDate")Date endDate);
	
	/**
	 * 依据指控日期查询签收人和指控纸质病案数量
	 * @param startDate
	 * @param endDate
	 * @return
	 */
	List<Map<String,Object>> getGroupMedicalRecordCountOfPageQualityControl(@Param("startDate")Date startDate,@Param("endDate")Date endDate);
	
	
	/**
	 * 依据编码日期查询编码纸质病案总数
	 * @param startDate
	 * @param endDate
	 * @return
	 */
	int getMedicalRecordCountOfPageCoding(@Param("startDate")Date startDate,@Param("endDate")Date endDate);
	
	/**
	 * 依据编码日期查询签收人和编码纸质病案数量
	 * @param startDate
	 * @param endDate
	 * @return
	 */
	List<Map<String,Object>> getGroupMedicalRecordCountOfPageCoding(@Param("startDate")Date startDate,@Param("endDate")Date endDate);
}
